/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Oscar
 */
public class Radio implements iRadio
{
    protected boolean  _encendido;
    protected int _estaciones;
    protected int _totalEstaciones;
    protected Boton[] Botones;
    protected Boton _botonActual;
    
    
    public Radio(){
        _encendido = false;
        _totalEstaciones = 12;
        _estaciones = 0;
        Botones = new  Boton[_totalEstaciones];        
        
    }

    
    public void Encender() {
        _encendido = true;
    }

    
    public void Apagar() {
        _encendido= false;
    }


    
    public Boton GetEstacion(int posicion) {
        if (_encendido){
            if (posicion < _estaciones)
            {            
                _botonActual = Botones[posicion];            
            }       
            return _botonActual;
        }
        return null;
    }
    
    public Boton AgregarEstacion(String frecuencia, double estacion) {
        if (_encendido)
            if (_estaciones <_totalEstaciones)
            {                
                _botonActual = new Boton(frecuencia, estacion);                
                Botones[_estaciones] = _botonActual;                                
                _estaciones ++;
                return _botonActual;
            }
        return null;

    }

    
    public Boton SetEstacion(int posicion, String estacion, double frecuencia) {
        if (_encendido)
            if (posicion<_estaciones){
                Botones[posicion].Set(estacion, frecuencia);
                _botonActual = Botones[posicion];
                return _botonActual;
            }
        return null;
            
    }    
    
    public String toString(){
        if (_encendido){
        
            int i=0;
            StringBuilder sb = new  StringBuilder();
            while (i < _totalEstaciones){                                
                sb.append("radio ");
                sb.append(i);
                sb.append(" :");
                if (i < _estaciones)
                    sb.append(Botones[i].ToString());
                sb.append("\n");
                i++;
            }
            return sb.toString();
        }
        else{
            return "El radio no esta encendido \n";
        }
    }
    
}
